/**
 * Trabajo de Ingeniería de Software 2
 * Año 2008
 * Sistema de Reserva de Recursos.
 * Desarrolladores: - Marcelo Ferreira.
 *                  - Christian Gómez.
 *                  - Marcelo Rodas.
 */

package controller;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import modelo.Tiporecurso;

/**
 * Clase utilizada para Transportar y Transformar la Entidad Tiporecurso
 * entre JSPs.
 * @author cgomez
 */
public class TiporecursoConverter implements Converter {
    /**
     * Función para obtener un Objeto Tiporecurso del string 
     * transmitido y que representa el Objeto resultante.
     * @param facesContext
     * @param component
     * @param string
     * @return Object (Tiporecurso)
     */
    public Object getAsObject(FacesContext facesContext, UIComponent component, String string) {
        if (string == null || string.length() == 0) {
            return null;
        }
        Integer id = new Integer(string);
        TiporecursoController controller = (TiporecursoController) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "tiporecurso");

        return controller.findTiporecurso(id);
    }
    
    /**
     * Función para obtener como Cadena un Objeto Tiporecurso para pasar 
     * como parametro entre paginas web.
     * @param facesContext
     * @param component
     * @param object
     * @return String
     */
    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof Tiporecurso) {
            Tiporecurso o = (Tiporecurso) object;
            return o.getIdTipoRecurso() == null ? "" : o.getIdTipoRecurso().toString();
        } else {
            throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: modelo.Tiporecurso");
        }
    }

}
